package com.wisdytech.linkdcs.partLife.service;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.wisdytech.common.bean.Filter;
import com.wisdytech.linkdcs.equipment.model.Equipment;
import com.wisdytech.linkdcs.partLife.dto.PartRepSearchDTO;
import com.wisdytech.linkdcs.partLife.dto.PartReplaceDTO;
import com.wisdytech.linkdcs.partLife.model.PartReplace;

/**
 * <p>
 *  设备备件更换服务类
 * </p>
 *
 * @author chenbin
 * @since 2018-06-05
 */
public interface IPartReplaceService{
    /**
     * <p>Description:查询设备信息列表</p>
     * @param equipName 设备名称
     * @return 设备信息列表集合
     */
	List<Equipment> listAllEquipAndPart(String equipName);
    /**
     * 分页条件查询备件配置列表信息
     * @param equipId 设备id
     * @param filter 分页参数
     * @return 备件配置管理列表信息
     */
	PageInfo<PartReplace> listPartRepByFilter(String equipId, Filter filter);
    /**
     * <p>Description:查询备件原序列号</p> 
     * @param equipId 设备id
     * @return 序列号信息信息
     */
	PartReplace getSeriByEquipId(String equipId);
    /**
     * 保存备件更换信息
     * @param partReplaceDTO 备件更换对象
     * @return 保存结果集
     */
	void savePartReplace(PartReplaceDTO partReplace);
    /**
     * 分页条件查询备件更换记录列表信息
     * @param repSearchDTO 查询条件对象
     * @param filter 分页参数
     * @return 备件更换记录列表信息
     */
	PageInfo<PartReplace> listPartRepAllByFilter(PartRepSearchDTO repSearchDTO, Filter filter);

	void savePartReplaceTemp(PartReplaceDTO partReplacedto);
    /**
     * 分页条件查询备件配置列表信息
     * @param equipCode 设备编码
     * @param search 模糊查询
     * @param filter 分页参数
     * @return 备件更换列表信息
     */
	PageInfo<PartReplace> listModelPartByFilter(String equipCode, String search, Filter filter);
    /**
     * 查询更换的关键备件
     * @param equipCode 设备编码
     * @param partId 设备型号
     * @param localtionId 位置id
     * @param filter 分页参数
     * @return 备件配置管理列表信息
     */
	PartReplace getKeyPartByPartId(String equipCode, String partId,String localtionId, Filter filter);

}
